package com.asambleacristiana.repository.dao;

import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

import com.asambleacristiana.repository.dao.impl.AsistenciaDAOImpl;
import com.asambleacristiana.repository.dao.impl.MiembroDAOImpl;
import com.asambleacristiana.repository.dao.impl.UsuarioDAOImpl;

public class DAOFactoryJPA {

	private static DAOFactoryJPA instance;
	private EntityManagerFactory entityManagerFactory;

	public static synchronized DAOFactoryJPA getInstance() {
		if (instance == null) {
			instance = new DAOFactoryJPA();
		}
		return instance;
	}

	private DAOFactoryJPA() {
		entityManagerFactory = Persistence.createEntityManagerFactory("jing-coro");
	}

	public UsuarioDAOImpl getUsuarioDAO() {
		return new UsuarioDAOImpl(entityManagerFactory);
	}
	
	public MiembroDAOImpl getMiembroDAO() {
		return new MiembroDAOImpl(entityManagerFactory);
	}
	
	public AsistenciaDAOImpl getAsistenciaDAO() {
		return new AsistenciaDAOImpl(entityManagerFactory);
	}

}
